// node 后端服务器
// index.js——Express 服务器入口文件

// 引入所需的模块
const express = require('express')
const bodyParser = require('body-parser')
const userApi = require('./api/userApi')

// 创建 Express 应用实例
const app = express()

// 解决跨域问题的中间件
app.use((req, res, next) => {
    // 设置允许跨域的域名，*代表允许任意域名跨域
    res.header('Access-Control-Allow-Origin', '*')
    // 允许的header类型
    res.header('Access-Control-Allow-Headers', 'Content-Type')
    // 跨域允许的请求方式
    res.header('Access-Control-Allow-Methods', 'DELETE, PUT, POST, GET, OPTIONS')
    if (req.method.toLowerCase() === 'options') {
        res.sendStatus(200) // 让options尝试请求快速结束
    } else {
        next()
    }
})

// 解析请求体
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))

// 后端api路由
app.use('/api/user', userApi)

// 监听端口
const PORT = 3000
app.listen(PORT, () => {
    console.log(`Server is running on http://localhost:${PORT}`)
})
